/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package economicocontrol.bl;

import economicocontrol.Validaciones.ValidacionesCampos;
import economicocontrol.calculos.ManejadorFechas;
import economicocontrol.dao.RegistroEntradaSalidaDAO;
import economicocontrol.dao.RegistroPersonalDAO;
import economicocontrol.dao.entity.RegistroEntradaSalida;
import economicocontrol.dao.entity.RegistroPersonal;
import java.util.Date;
import java.util.List;

/**
 *
 * @author iMac
 */
public class ReporteXpersonalBL {
    
    private RegistroPersonalDAO regPerDAO;
    private RegistroPersonal regPer;
    private ManejadorFechas manFec;
    private List<RegistroPersonal> lisRegPer;
    private RegistroEntradaSalidaDAO regEntSalDAO;
    private List<RegistroEntradaSalida> listRegEntSal;
    
    public ReporteXpersonalBL(){
        
        regPerDAO = new RegistroPersonalDAO();
        regPer = new RegistroPersonal();
        regEntSalDAO =new RegistroEntradaSalidaDAO();
        manFec = new ManejadorFechas();
        
    }
    
    public void repPerAll(){
        lisRegPer = regPerDAO.findAll();
    }

    public void locPer(int index){
        regPer=lisRegPer.get(index);
    }
    
    public boolean intevaloFecha(Date date1, Date date2){
        if(ValidacionesCampos.esMayorIgual(date1, date2)){
            listRegEntSal = regEntSalDAO.intevaloFecha(regPer.getIdRegistroPersonal(),date1,date2);
            return true;
        }else
            return false;
        
    }
    
    public float promKmFechaSalidaEntradaPersonal(Date date1, Date date2){
        
        return regEntSalDAO.promKmFechaSalidaEntradaPersonal(regPer.getIdRegistroPersonal(),date1.getDay(),date2.getDay(),manFec.diferenciasDeFechas(date1, date2))*manFec.diferenciasDeFechas(date1, date2);
    }
    
    public RegistroPersonalDAO getRegPerDAO() {
        return regPerDAO;
    }

    public void setRegPerDAO(RegistroPersonalDAO regPerDAO) {
        this.regPerDAO = regPerDAO;
    }

    public RegistroPersonal getRegPer() {
        return regPer;
    }

    public void setRegPer(RegistroPersonal regPer) {
        this.regPer = regPer;
    }

    public List<RegistroPersonal> getLisRegPer() {
        return lisRegPer;
    }

    public void setLisRegPer(List<RegistroPersonal> lisRegPer) {
        this.lisRegPer = lisRegPer;
    }

    public RegistroEntradaSalidaDAO getRegEntSalDAO() {
        return regEntSalDAO;
    }

    public void setRegEntSalDAO(RegistroEntradaSalidaDAO regEntSalDAO) {
        this.regEntSalDAO = regEntSalDAO;
    }

    public List<RegistroEntradaSalida> getListRegEntSal() {
        return listRegEntSal;
    }

    public void setListRegEntSal(List<RegistroEntradaSalida> listRegEntSal) {
        this.listRegEntSal = listRegEntSal;
    }
    
    
}
